home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Source Code / C / Applications / MacPerl 5.0.3 / MacPerl Source ƒ / MacPerl5 / SetPerlVersion < prev    next >
Encoding:
Text File  |  1995-10-29  |  959 b   |  44 lines  |  [TEXT/MPS ]

  1. Perl -i -Sx "{0}" "{1}" "{2}" ::Perl5:Perl.r MacPerl.r
  2. Exit
  3.  
  4. #!perl
  5.  
  6. $Version = shift @ARGV;
  7. $Date        = shift @ARGV;
  8.  
  9. %stage = ("b", "beta", "d", "development", "a", "alpha", "r", "release");
  10.  
  11. if ($Version =~ /(\d+)\.(\d+)\.(\d+)(\w)(\d+)/) {
  12.     ($v,$r,$s,$stage,$n) = ($1, $2, $3, $stage{$4}, $5);
  13. } elsif ($Version =~ /(\d+)\.(\d+)\.(\d+)/) {
  14.     ($v,$r,$s,$n) = ($1, $2, $3, 0);
  15. } else {
  16.     die "Usage: $0 <Version> <Date>.";
  17. }
  18.  
  19. while (<>) {
  20.     if (/\'vers\'.*(\d)/) {
  21.         $vers = $1;
  22.     } elsif (/VersionString/) {
  23.         $vstring = 1;
  24.     } elsif ($vstring) {
  25.         s/\".*\"/\"$Version\"/;
  26.         if ($vers == 2) {
  27.             $dstring = 1;
  28.         }
  29.         undef $vers;
  30.         undef $vstring;
  31.     } elsif ($dstring) {
  32.         s/Perl.*\(.*\)/Perl $Version ($Date)/;
  33.         undef $dstring;
  34.     } elsif ($vers) {
  35.         if ($n) {
  36.             $_ = sprintf("\t0x%02d, 0x%01d%01d, $stage, 0x%02d, verUS,\n", $v, $r, $s, $n);
  37.         } else {
  38.             $_ = sprintf("\t0x%02d, 0x%01d%01d, release, 0x00, verUS,\n", $v, $r, $s);
  39.         }
  40.         $vstring = 1;
  41.     }
  42.     print;
  43. }
  44.